1. Field Of The Invention
The present invention is a computer-implemented management system which works in conjunction with a client application program so as to manage external application programs and their associated files. More particularly, the management system of the present invention provides a system for a client application to launch, track and otherwise manage an external application and its associated file.
2. Description Of The Related Art
It has recently become possible to create a computer document which contains data from a variety of different application programs Such a document is called a "compound document". Compound, documents are created by a first application program, usually called a "client application", and contain one or more data objects from other application programs. A compound document might, for example, be created by a word processing application program. In this case, the compound document contains not only text data native to the word processing application program, but also contains data objects from other application programs such as a bit map data object from a graphics display program, a spreadsheet data object from a spreadsheet program, or a sound data object from a sound recorder application program.
Compound documents are an important development in computer systems because they eliminate the constraint that data in a document must be that one single type of data supported by the client application. With compound documents, it is now possible to create a word processing document that includes not only text from the word processing application but which also includes numbers from a spreadsheet application, images from a graphics application, and sounds from a recorder application.
FIGS. 1(a) through 1(c) illustrate how a compound document might appear to a user of a client application program, here a client application program which allows a user to send and to receive multimedia messages which may include attachments from external application programs. A suitable client application program for sending and receiving multimedia messages is described in detail in application Ser. No. 07/808,757, filed Dec. 17, 1991, now abandoned, the contents of which are incorporated herein by reference.
In FIG. 1(a), a compound document 1 is shown as it might be displayed to a user on display screen 2 of computer monitor 3. Compound document 1 is a message that is scheduled to be sent to a remote recipient. The compound document includes a text portion 4 which is data native to the client message manager application program. In addition, compound document 1 includes attachments signified by icons 5, 6 and 7 which are data objects from external application programs. Specifically, text attachment 5 is a simple text file created by an external text editor application such as Microsoft Note Pad. Bitmap attachment 6 is a bitmap file created by an external graphics program such as Microsoft Paint Brush. Sound attachment 7 is a wave file created by an external sound application program such as Microsoft Sound Recorder.
By selecting one of the icons in compound document 1, such as by double clicking on the icon with a mouse, the user can cause the external application which created the data object to be launched so as to view, edit or otherwise modify the data object associated with the icon. Thus, as shown in FIG. 1(b), after selecting the bitmap icon 6, the external Paint Brush application program is launched so as to display the bitmap attachment. Likewise, in FIG. 1(c), the user has selected the remaining icons so as to cause associated external application programs to be launched.
Various implementations have been proposed so as to allow an external application to be launched from a client application which is displaying a compound document. For example, Microsoft has introduced object linking and embedding (hereinafter "OLE") which allows data objects from external applications to be linked or embedded in a compound document for a client application OLE is described in detail in Chapter 9 of F. Davis, "The Windows 3.1 Bible", Peachpit Press, 1993, the contents of which are incorporated herein by reference. OLE provides a robust implementation of compound documents which allows a user to launch external applications, to switch from one application to another, and to monitor how objects in the compound document are being modified by their respective external applications. However, to achieve this implementation, specialized communication is needed between the external application and the client application. For example, the external application must be OLE-aware and must register itself into a "registration database". The client application must, in addition, be OLE-compliant, meaning that the client application must be able to communicate directly or indirectly to the external applications so as to determine whether they are present must support the creation of complex compound documents, and must also conform to standard OLE interfaces.
Other implementations of compound documents have been proposed, but these implementations constrain how a user is able to manipulate data objects in the compound document. For example, "CC Mail" from Lotus, which is an E-mail client application, provides a compound document capability which is simpler than Microsoft's OLE but which does not provide as many features as OLE. For example, when an external application is launched from the "CC Mail" client application, a user is not permitted to access any other application program until the external application has been closed down. This limits the usefulness of compound documents. For example, when using the client "CC Mail" a application program, the user would not be able to obtain the display in FIG. 1(c). Rather, the user would be constrained to the display shown in FIG. 1(b) and would not be able to access any other program, including the client application program, until the Note Pad external application program had been closed down. Particularly in a windowing operating system such as Microsoft Windows, in which a user expects to be able to access any application program at any time, this is a significant limitation.
Accordingly, there is a need to provide a managing system for managing external applications associated with compound documents in which the management system provides a user with flexibility like that provided in an OLE-based implementation while at the same time does not require specialized communication between the client application program and the external application program.